// 版权所有2010 Go作者。保留所有权利。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// rand包实现了一个加密安全的
// 随机数生成器。
package rand

import "io"

// Reader是加密
// 安全随机数生成器的全局共享实例。
// 
// 在Linux、FreeBSD、Dragonfly和Solaris上，如果
// 可用，Reader使用getrandom（2），否则使用/dev/urandom。
// 在OpenBSD和macOS上，Reader使用getentropy（2）。
// 在其他类似Unix的系统上，Reader从/dev/uradom读取。
// 在Windows系统上，Reader使用RtlGenRandom API。
// 在Wasm上，Reader使用Web加密API。
var Reader io.Reader

// Read是一个调用Reader的助手函数。使用io阅读。阅读完整。
// 返回时，n==len（b）当且仅当err==nil。
func Read(b []byte) (n int, err error) {
	return io.ReadFull(Reader, b)
}
